package com.woniuxy.enjoylife.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.enjoylife.entity.Activity;
import com.woniuxy.enjoylife.entity.dto.*;
import com.woniuxy.enjoylife.utils.PageResult;

import java.util.List;

/**
 * 社区活动
 */
public interface ActivityService extends IService<Activity> {

    //查询所有活动
    PageResult<ActivityShowDto> selectActivity(int page, int size,int userid);

    //查找单个用户的活动(id,模糊查询)
    List<ActivityShowDto> selectOneActivity(Activity activity);

    //新增
    int addActivity(Activity activity);

    //修改
    int updateActivity(Activity activity);

    //删除
    int deleteActivity(int id);

    //根据小区id获取小区活动以及发起人，并分页
    public PageResult<List<ActivityDto>> findActivitysByCid(int cid,int current,int size);
    //通过活动id去查当前活动信息以及发起者，参与者
    public ActivityUsersDto findActivityUsersDtoById(int id);
    //通过用户id去中间表删除该用户参加的该活动
    public boolean delByUid(int uid,int aid);
    //根据活动id删除（将status改为1）
    public boolean del(int id);
    //小区发起活动
    public boolean communityAddActivity(Activity activity);
    //平台活动管理，查询所有小区的活动
    public PageResult<List<ActivityCommunityDto>> platFindAllActivity(int current, int size);
    //通过用户id数组遍历批量删除用户参与活动
    public boolean delBatchByUid(int ids[],int aid);
    //用户查询自己发表的活动(用户id为活动表中发表人id)
    public PageResult<List<ActivityUsersDto>> userFindOwnActivity(int uid,int current,int size);
    //用户查询自己参与的活动（去用户-活动中间表查询）
    public PageResult<List<ActivityUsersDto>> userFindJoinActivity(int uid,int current,int size);

    //根据活动id去查询该活动的评论及用户
    public PageResult<List<ActivityCommentUserDto>> findActivityCommentByAid(int aid, int current, int size);

//    用户界面==============================================================================================
ActivityUsersDto findActivityAndUserById(Integer id);
}
